package com.example.csmallpassport.web;

/**
 * 专门用来定义需要使用的各种状态代码
 *
 * 请求资源和被请求的资源的当前状态之间存在冲突，请求无法完成。(409)
 * 请求的参数格式错误。(400)
 * 页面不存在或请求的资源不存在(404)
 * 请求方式错误(405)
 */
public enum ServiceCode {

    /**
     * 成功
     */
    OK(20000),
    /**
     * 错误：请求参数格式有误
     */
    ERR_BAD_REQUEST(40000),
    /*
    * 错误: 登录失败,用户名或密码错误
    * */
    ERR_UNAUTHORIZED(40100),
    /**
     * 错误：登陆失败，账号被禁用
     */
    ERR_UNAUTHORIZED_DISABLED(40101),
    /**
     * 错误：数据不存在
     */
    ERR_NOT_FOUND(40400),
    /*
    * 错误：无权限
    * */
    ERR_FORBIDDEN(40300),
    /**
     * 错误：数据冲突
     */
    ERR_CONFLICT(40900),
    /**
     * 错误：插入数据错误
     */
    ERR_INSERT(50000),
    /**
     * 错误：删除数据错误
     */
    ERR_DELETE(50100),
    /**
     * 错误：修改数据错误
     */
    ERR_UPDATE(50200),
    /**
     * 错误：JWT已过期
     */
    ERR_JWT_EXPIRED(60000),
    /**
     * 错误：验证签名失败
     */
    ERR_JWT_SIGNATURE(60100),
    /**
     * 错误：JWT格式错误
     */
    ERR_JWT_MALFORMED(60200),
    /**
     * 错误：未知错误
     */
    ERR_UNKNOWN(99999);

    private Integer value;

    ServiceCode(Integer value){
        this.value = value;
    }

    public Integer getValue(){
        return this.value;
    }

}
